﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Configuration;
using AjaxControlToolkit;
using ENProyecto7;

namespace WebProyectoSIETE
{
    public partial class Localizacion : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["usuario"] != null)
            {
                try
                {
                    //String sentencia = "select * from mapalocalizacion,localizacion where localizacion.idLocalizacion=" + Session["idLocalizacion"].ToString() + " ;";
                    //DataView dv;
                    //SqlDataSourceLocalizacion.SelectCommand = sentencia;

                    //String sentencia2 = "select * from mision where mision.idMision=" + Session["idMision"].ToString() + " ;";
                    //DataView dv2;
                    ENMision misionen = new ENMision();
                    misionen.IdMision = int.Parse(Session["idMision"].ToString());
                    SqlDataReader dr = misionen.obtenerTabernaMision();

                    ENLocalizacion localizacionen=new ENLocalizacion();
                    localizacionen.IdLocalizacion=int.Parse(Session["idLocalizacion"].ToString());
                    SqlDataReader dr2 = localizacionen.obtenerLocalizacionId();

                    dr2.Read();
                    LabelLocalizacion.Text = dr2["nombreLocalizacion"].ToString();
                    ImageLocalizacion.ImageUrl = "~/img/" + dr2["imagenLocalizacion"].ToString();
                    textoDescripcion.Text = dr2["descripcionLocalizacion"].ToString();
                    //dv = (DataView)SqlDataSourceLocalizacion.Select(DataSourceSelectArguments.Empty);
                    //LabelLocalizacion.Text = dv.Table.Rows[0]["nombreLocalizacion"].ToString();
                    //ImageLocalizacion.ImageUrl = "~/img/" + dv.Table.Rows[0]["imagenLocalizacion"].ToString();
                    //textoDescripcion.Text = dv.Table.Rows[0]["descripcionLocalizacion"].ToString();

                    //SqlDataSourceLocalizacion.SelectCommand = sentencia2;
                    //dv2 = (DataView)SqlDataSourceLocalizacion.Select(DataSourceSelectArguments.Empty);
                    if (Session["explorado"].ToString() == "0")
                    {
                        dr.Read();
                        if (dr["tabernaMision"].ToString()==Session["idLocalizacion"].ToString())//dv2.Table.Rows[0]["tabernaMision"].ToString() == Session["idLocalizacion"].ToString())
                        {
                            botonTaberna.Visible = true;
                            botonBuscar.Visible = false;
                        }
                        else
                        {
                            botonTaberna.Visible = false;
                            botonBuscar.Visible = true;
                        }
                    }
                    else
                    {
                        Objeto.Text = "¡Esta localizacion ya ha sido explorada!¡Sal y busca nuevos lugares que explorar para completar la mision!";
                        Objeto.Visible = true;
                        botonTaberna.Visible = false;
                        botonBuscar.Visible = false;
                        ImagenObjeto.Visible = false;
                    }
                }
                catch (Exception ex)
                {
                    Objeto.Text = "Error al cargar los datos, intentelo otra vez";
                }
            }
            else
            {
                Response.Redirect("Default.aspx");
            }
        }

        protected void botonTaberna_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("Taberna.aspx");
        }

        protected void botonBuscar_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                if (Session["explorado"].ToString() == "0")
                {
                    String sentencia = "select * from enemigolocalizacion where enemigolocalizacion.idLocalizacion=" + Session["idLocalizacion"].ToString() + " ;";
                    String sentencia2 = "select * from objetolocalizacion where objetolocalizacion.idLocalizacion=" + Session["idLocalizacion"].ToString() + " ;";
                    DataView dv;
                    Random porcentaje = new Random();
                    bool enemigo;
                    if (porcentaje.Next(2) == 1)
                    {
                        SqlDataSourceLocalizacion.SelectCommand = sentencia;
                        enemigo = true;
                    }
                    else
                    {
                        SqlDataSourceLocalizacion.SelectCommand = sentencia2;
                        enemigo = false;
                    }
                    dv = (DataView)SqlDataSourceLocalizacion.Select(DataSourceSelectArguments.Empty);
                    bool pasa_algo = false;
                    foreach (DataRow row in dv.Table.Rows)
                    {
                        if (porcentaje.Next(100) < int.Parse(row["porcentaje"].ToString()))
                        {
                            pasa_algo = true;
                            Session["explorado"] = 1;
                            if (enemigo)
                            {
                                Session["idEnemigo"] = int.Parse(row["idEnemigo"].ToString());
                                Response.Redirect("Batalla.aspx");

                            }
                            else
                            {
                                string obj = row["idObjeto"].ToString();
                                String sentencia3 = "select * from objetolocalizacion,objeto where objetolocalizacion.idObjeto=objeto.idObjeto AND objeto.idObjeto=" + obj + " ;";
                                SqlDataSourceLocalizacion.SelectCommand = sentencia3;
                                DataView dv2;
                                dv2 = (DataView)SqlDataSourceLocalizacion.Select(DataSourceSelectArguments.Empty);
                                Objeto.Text = "¡Enhorabuena! ¡Has conseguido un objeto que incrementara tus habilidades!. Ya tienes: " + dv2.Table.Rows[0]["nombreObjeto"].ToString();
                                ImagenObjeto.ImageUrl = "~/img/" + dv2.Table.Rows[0]["imagenObjeto"].ToString();
                                Objeto.Visible = true;
                                ImagenObjeto.Visible = true;
                            }
                        }
                    }
                    if (!pasa_algo)
                    {
                        Objeto.Text = "¡No has encontrado nada! ¡Explora de nuevo esta localizacion!";
                        ImagenObjeto.ImageUrl = "~/img/pensativo.jpg";
                        Objeto.Visible = true;
                        ImagenObjeto.Visible = true;
                    }
                }
            }
            catch (Exception ex)
            {
                Objeto.Text = "Error al cargar los datos, intentelo otra vez";
            }
        }
    }
}